logExtensionError() currently saves the error message by calling
toString() on the passed error. That's convenient as it allows to
pass a string instead of a "proper" error, but the result isn't
great for the common Error case: Its toString() method prefixes
the message with the error name, which usually is just "Error:".
The plain message is more suitable for displaying it to users,
so use that for Error objects.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2337
if (!extension)
return;
- let message = error.toString();
+ const message = error instanceof Error
+ ? error.message : error.toString();
extension.error = message;
extension.state = ExtensionState.ERROR;